aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/send/lightning/[payreq]
Commit message (Collapse)AuthorAgeFilesLines
* send: explain duplicate submits instead of reporting a routing failureAdam Soltys13 days1-0/+17
| | | | | | | | | Resubmitting an invoice that was already paid, is still in flight, or is awaiting reconciliation came back as the generic "failed to route" error, which reads as if the payment never went out. Map those server responses to specific messages with a link to the payment history. Co-Authored-By: Claude Opus 5.5 <[email protected]>
* send: stop the Max buttons from cancelling their own submit, show LNURL ↵Adam Soltys2026-09-211-2/+9
| | | | | | | | | | | | | | | | | | | | | | | action errors Choosing Max on the LNURL-pay page left the button spinning forever. Two things combined: The Max buttons set `loading` from their click handler. Svelte flushes `disabled={loading}` to the DOM before the browser runs the button's submit activation, and a disabled button submits nothing. Set loading from the form's onsubmit instead, the way the Send button always did. The /ln page never passed `form` into the Lnurlp and Lnurlw components, so any action failure (pay, max or withdraw) rendered nothing and never reset the spinner. Pass it through, and reset loading when a result arrives. Verified in headless Chrome against the dev stack: the bolt11 Max lands on the fee view, and the LNURL Max surfaces the server's error and re-enables the buttons. Co-Authored-By: Claude Fable 5.1 <[email protected]>
* send: quote the lightning routing fee up front and add Max to lightning sendsAdam Soltys2026-09-212-9/+112
| | | | | | | | | | | | | | | | | | | The lightning send page now asks the server what the payment will cost before showing the Send button: the exact routing fee from the route query, the platform fee, and the total. The quoted fee is submitted as the maxfee, so what the user sees is what gets debited; advanced settings still let them override it, and if the quote fails the page falls back to the old 2% reserve. Max on the amount step asks the server for the largest amount whose amount + routing fee + platform fee lands exactly on the balance, and for an offer picks up the invoice fetched for that exact amount. LNURL-pay gets a Max button too. The invoice only exists once we name an amount, so the action fetches a probe invoice at the ceiling, lets the server solve for the amount, then fetches the real invoice for it. Co-Authored-By: Claude Fable 5.1 <[email protected]>
* bolt12 zaps: accept offers in send flow, show/publish user offerAdam Soltys2026-07-301-3/+1
| | | | | | | | | | - parse lno= from BIP-321 bitcoin: URIs; send page parses offers for preview now that /parse handles them - settings/nostr shows the user's standing lno1 offer with copy/QR and a button to publish it as a kind 10058 offer list for NIP-177 zaps - new locale strings translated Co-Authored-By: Claude Fable 5 <[email protected]>
* fix: rename hidden maxfee field to fee to match form handlerAdam Soltys2026-02-151-1/+1
| | | | Co-Authored-By: Claude Opus 4.6 <[email protected]>
* increase default maxfeeAdam Soltys2025-12-101-2/+2
|
* display locked balanceAdam Soltys2025-05-122-4/+8
|
* fix maxfeeAdam Soltys2025-02-121-1/+4
|
* change maxfee param nameAdam Soltys2025-02-051-1/+1
|
* capture ln commentsAdam Soltys2025-01-252-1/+2
|
* preserve insufficient funds messageAdam Soltys2025-01-251-2/+4
|
* parse payment memosAdam Soltys2025-01-241-1/+1
|
* show error message for zero-amount invoicesAdam Soltys2025-01-101-7/+12
|
* fix lightning dataAdam Soltys2024-12-191-1/+1
|
* printer pageAdam Soltys2024-12-182-12/+11
|
* typoAdam Soltys2024-12-051-1/+1
|
* cached ratesAdam Soltys2024-12-052-3/+6
|
* payment failure messageAdam Soltys2024-12-031-8/+2
|
* fix untrackAdam Soltys2024-11-281-1/+1
|
* currency localeAdam Soltys2024-11-281-1/+2
|
* stylesAdam Soltys2024-11-201-0/+1
|
* parse invoiceAdam Soltys2024-11-171-5/+9
|
* handle blank offersAdam Soltys2024-11-172-17/+24
|
* payment amount helpersAdam Soltys2024-11-141-22/+3
|
* amount componentAdam Soltys2024-11-141-6/+3
|
* svelte 5Adam Soltys2024-11-081-12/+20
|
* adjust default maxfeeAdam Soltys2024-11-071-1/+1
|
* dark stylesAdam Soltys2024-11-051-1/+1
|
* dark stylesAdam Soltys2024-11-051-31/+25
|
* focus start buttonAdam Soltys2024-11-011-2/+6
|
* biomeAdam Soltys2024-10-311-14/+14
|
* expose max feeAdam Soltys2024-10-231-15/+9
|
* biome formatAdam Soltys2024-10-181-8/+8
|
* hide maxfee unless errorAdam Soltys2024-10-141-16/+20
|
* routing failure messageAdam Soltys2024-10-012-3/+3
|
* account importAdam Soltys2024-09-231-2/+3
|
* progress on accountsAdam Soltys2024-09-191-12/+5
|
* typescriptAdam Soltys2024-08-311-2/+2
|
* typescriptAdam Soltys2024-08-301-0/+0
|
* numpad blurAdam Soltys2023-12-232-2/+3
|
* round feeAdam Soltys2023-12-221-3/+3
|
* stylesAdam Soltys2023-12-221-8/+11
|
* show ln platform feeAdam Soltys2023-12-222-22/+48
|
* spacingAdam Soltys2023-12-221-6/+6
|
* percentage based maxfeeAdam Soltys2023-12-221-38/+59
|
* prettierAdam Soltys2023-12-201-3/+7
|
* sveltekit 2Adam Soltys2023-12-151-1/+1
|
* increase max feeAdam Soltys2023-12-141-1/+1
|
* forgot passwordAdam Soltys2023-12-071-7/+3
|
* change component importsAdam Soltys2023-12-011-1/+3
|